package com.young.core.manager;

import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface BrokerManager {

    /**
     * 心跳保持，其中ip + hostname作为校验值
     * @param ip
     */
    @Transactional
    boolean keepAlive(String ip, String hostName);

    /**
     * 取消注册，即删除或者直接过期
     */
    @Transactional
    void unregister(String ip);

    @Transactional
    void expire(int ttl);

    List<String> getCache();

}
